## PX4-Autopilot v1.14 Release Notes

## Major Changes

### Actuator Configuration UI

The [Actuator Configuration UI](../config/actuators.md) replaces mixer files for defining vehicle geometry, mapping motors and other functions to specific flight control outputs, and testing actuator behaviour.

:::warning
This feature was an experimental option for v1.13, but is now enabled by default. Vehicles that used custom mixer files in v1.13 will need to replace them when upgrading to PX4 v1.14. Other vehicles may need to configure output mappings when updating.
:::

The mixer file approach effectively hard-coded the geometry, and outputs that you had to use for each motor and actuator on a frame. Using [dynamic control allocation](../concept/control_allocation.md) is much more flexible because the configuration can depend on the airframe that you select. For example, selecting a generic airframe will allow you to specify both the geometry and output mapping, while selecting a particular ready-to-fly vehicle only allows you to test the output mappings (because everything else is hard coded/wired). Selecting a frame like an S-500 is somewhere in between: the geometry is fixed but you can map the flight controller outputs to whatever motors you like.

:::note
To use the new actuator configuration UI, you must have a recent release version of QGroundControl (version 4.2.0 or later).
:::

### Gazebo Simulator Changes

Our [simulator](../simulation/README.md) naming convention has changed, because the [Open Source Robotics Foundation (OSRF)](https://www.openrobotics.org/) is in process of retiring the original Gazebo architecture:

- The previous Gazebo architecture is now referred to as [Gazebo Classic](../sim_gazebo_classic/README.md#running-the-simulation), and the new architecture has taken the name [Gazebo](../sim_gazebo_gz/README.md) (the current release is "Gazebo Garden").
- Gazebo Classic `make` targets are now prefixed with `gazebo-classic_` (e.g. `make px4_sitl gazebo-classic_cloudship`).
- Gazebo targets are prefixed with `gz_` (e.g. `make px4_sitl gz_x500`).

You can still use [Gazebo Classic](../sim_gazebo_classic/README.md#running-the-simulation) simulation in Ubuntu 20.04 or older. From Ubuntu 22.04 only Gazebo is supported and can be installed.

Gazebo supports a number of vehicles and can also be used for multivehicle simulation. However the set of vehicles is still less diverse than available in Gazebo classic, so we'd very much welcome the contribution of more simulation targets.

### ROS2 & XRCE-DDS Bridge

[ROS2 support with micro XRCE-DDS bridge](../ros/ros2_comm.md) was added, replacing the [MicroRTPS bridge](https://docs.px4.io/v1.13/en/middleware/micrortps.html) middleware used in PX4v1.13 with [uXRCE-DDS](../middleware/uxrce_dds.md).

:::note
XRCE-DDS was an experimental opt-in feature in v1.13.
:::

The new architecture provides a more seemless integration with ROS 2, using the same message definition for both uORB and ROS2 topics, which are maintained in a single shared repository. It also provides a building block for microROS, which will allow ROS 2 nodes to be defined directly within PX4.

ROS 2 users from PX4 v1.13 will need to use the new XRCE_DDS agent, and build their applications using the new message definitions. Application code should only require minor modifications. These will include (minimally):

1. Modifying topic names to match the new naming pattern, which changed from `fmu/<topic_name>/out` to `fmu/out/<topic_name>`
1. [Adusting the QoS settings](../ros/ros2_comm.md#ros-2-subscriber-qos-settings)

For further details please refer to the [migration guide](../middleware/uxrce_dds.md#fast-rtps-to-uxrce-dds-migration-guidelines).


## Minor Changes

### Common

* Failsafe state machine rewrite and [web simulation](../config/safety_simulation.md)
* Improved preflight failure check reporting (requires QGC [v4.2.0](https://github.com/mavlink/qgroundcontrol/releases/tag/v4.2.0) or later): [PX4-Autopilot#20030](https://github.com/PX4/PX4-Autopilot/pull/20030) and [qgroundcontrol#10362](https://github.com/mavlink/qgroundcontrol/pull/10362)
* [Package delivery in mission](../advanced/package_delivery.md): For package delivery applications, inital support for payload delivery in mission for gripper actuator was added
* Manual control setpoint message redefinition: `manual_control_setpoint.x`, `y`, `z`, `w` -> `roll`, `pitch`, `yaw`, `throttle`; `throttle scale [0,1] -> [-1,1]` - [PX4-Autopilot#15949](https://github.com/PX4/PX4-Autopilot/pull/15949)

### Control

* Land and take off again in mission: Landing doesn't disarm if the mission is not done - [PX4-Autopilot#19659](https://github.com/PX4/PX4-Autopilot/pull/19659)
* Separate trajectory setpoint message: Message is now separate from vehicle_local_position_setpoint message. - [PX4-Autopilot#19622](https://github.com/PX4/PX4-Autopilot/pull/19622)
* Bugfix: "Invalid setpoint" message on takeoff or mode switch: The message popped up as false positive depending on timing - [PX4-Autopilot#20581](https://github.com/PX4/PX4-Autopilot/pull/20581)
* Bugfix: Step switching Altitude to Position: Switching from Altitude to Position with speed produced a jerk step - [PX4-Autopilot#20905](https://github.com/PX4/PX4-Autopilot/pull/20905)

### Estimation

* [Multiple height source fusion](../advanced_config/tuning_the_ecl_ekf.md#height)
* EKF2 start without magnetometer and barometer data: Until now, a mag and a baro was mandatory to run EKF2 - [PX4-Autopilot#20021](https://github.com/PX4/PX4-Autopilot/pull/20021)
* Multirotor wind estimate improvements: More accurate bluff body drag model - [PX4-Autopilot#20848](https://github.com/PX4/PX4-Autopilot/pull/20848)

### Sensors

* [DroneCAN sensors now need to be individually enabled via `UAVCAN_SUB_*` parameters](/dronecan/#dronecan-sensor-subscriptions) - [PX4-Autopilot#18471](https://github.com/PX4/PX4-Autopilot/pull/18471)
* Battery estimation defaults, reporting improvements: Defaults: current based load compensation, higher empty cell voltage, shorter action delay - [PX4-Autopilot#19429](https://github.com/PX4/PX4-Autopilot/pull/19429), [PX4-Autopilot#19700](https://github.com/PX4/PX4-Autopilot/pull/19700), [PX4-Autopilot#19594](https://github.com/PX4/PX4-Autopilot/pull/19594), https://github.com/PX4/PX4-Autopilot/pull/19679
* SF45 rotation Lidar serial driver - [PX4-Autopilot#19891](https://github.com/PX4/PX4-Autopilot/pull/19891)

### Simulation

* [Gazebo] Ignition Fuel for PX4: PX4 now has a repository for gazebo models in ignition fuel - https://app.gazebosim.org/PX4
* [Gazebo] Support for Gazebo garden with native ignition transport support: Added native ignition transport support for direct interaction with Gazebo and the simulation. Supported vehicles in Gazebo are X500(Multicopter), Plane, Standard VTOL - [PX4-Autopilot#20319](https://github.com/PX4/PX4-Autopilot/pull/20319)
* [Gazebo-classic] Serializer for Gazebo sniffer: Added a sniffer for serializing gazebo related information - [PX4-SITL_gazebo-classic#937](https://github.com/PX4/PX4-SITL_gazebo-classic/pull/937)
* [Gazebo-classic] Motor failure plugin as a ros2 plugin: Motor failure plugin has been updated to be a ros2 plugin -   [PX4-SITL_gazebo-classic#862](https://github.com/PX4/PX4-SITL_gazebo-classic/pull/862)
* [Gazebo-classic] Addition of Omnicopter model: A fully actuated omnidirectional vehicle model has been added to Gazebo SITL - https://github.com/PX4/PX4-SITL_gazebo-classic/pull/866
* [Gazebo-classic] Addition of Advanced liftdrag plugin: Advanced liftdrag plugin that models nonlinear aerodynamics based on AVL - [PX4-SITL_gazebo-classic#901](https://github.com/PX4/PX4-SITL_gazebo-classic/pull/901)
* [Gazebo-classic] Addition of Safe landing world: Addition of safe landing world, for testing safe landing - [PX4-SITL_gazebo-classic#93](https://github.com/PX4/PX4-SITL_gazebo-classic/pull/93)
* [Gazebo-classic] Depricated Ubuntu Bionic reated tests: Removed testing due to EOL of Ubuntu Bionic - [PX4-SITL_gazebo-classic#974](https://github.com/PX4/PX4-SITL_gazebo-classic/pull/974)
* [SIH] Standalone sensor simulations in tree: Ability to simulate sensors in tree that was part of SIH is now a stand alone sensor module. Sensors include magnetometer, GPS, Barometer, Airspeed - [PX4-Autopilot#20137](https://github.com/PX4/PX4-Autopilot/pull/20137), https://github.com/PX4/PX4-Autopilot/tree/main/src/modules/simulation/sensor_airspeed_sim
* [SIH] Failure injection for battery simulation - https://github.com/PX4/PX4-Autopilot/commit/ebc1d7544e8146788c9e7cf5e8b64f60199240e4

### MAVLink

* MAVLink forwarding over USB: Forward MAVLink traffic to/from USB by default - [PX4-Autopilot#20745](https://github.com/PX4/PX4-Autopilot/pull/20745)

### Multirotor

* Improved Follow-Me flight mode: Follow-me mode was improved for better user experience - [PX4-Autopilot#18026](https://github.com/PX4/PX4-Autopilot/pull/18026) | [PX4 Dev Summit presentation](https://www.youtube.com/watch?v=rYYso87cmxA)
* Improved Helicopter Support: [Helicopter Configuration](../config_heli/README.md)
* Direction-based speed constraints for multirotors: Can define a different forward, backward and lateral speed - [PX4-Autopilot#19257](https://github.com/PX4/PX4-Autopilot/pull/19257)
* Allow yawing in hold mode: Let the pilot yaw the drone while staying in hold mode - [PX4-Autopilot#21399](https://github.com/PX4/PX4-Autopilot/pull/21399)

### VTOL

* Quad-chute: enable to reset failure state Reset failure state once operator triggeres transition to FW again - [PX4-Autopilot#20913](https://github.com/PX4/PX4-Autopilot/pull/20913)
* Simplify Tailsitter transitions to FW in Stabilized: Adpat the tilt threshold automatically on configured max tilt setting - [PX4-Autopilot#21582](https://github.com/PX4/PX4-Autopilot/pull/21582)
* Refactor uncommanded descend Quad-Chute: Enables to set altitdue error threshold to trigger a Quad-chute - [PX4-Autopilot#21598](https://github.com/PX4/PX4-Autopilot/pull/21598)
* Enable control-surface-less Quad-tailsitters: Enables to use differential thrust to control full body attitude in FW mode on tailsitters - [PX4-Autopilot#20511](https://github.com/PX4/PX4-Autopilot/pull/20511)
* Skip VTOL_Takeoff mission item if already in-air - [PX4-Autopilot#19985](https://github.com/PX4/PX4-Autopilot/pull/19985)

### Fixed Wing

* Flaps/Spoiler refactor - [PX4-Autopilot#19329](https://github.com/PX4/PX4-Autopilot/pull/19329)
* FW Position control: switch from L1 to NPFG guidance - [PX4-Autopilot#19603](https://github.com/PX4/PX4-Autopilot/pull/19603) | [PX4 Dev Summit presentation video](https://www.youtube.com/watch?v=LY6hYBCdy-0)
* Automatically apply learned airspeed scale in-air - [PX4-Autopilot#19787](https://github.com/PX4/PX4-Autopilot/pull/19787)
* Takeoff refactor/enhancements - [PX4-Autopilot#19869](https://github.com/PX4/PX4-Autopilot/pull/19869)
* FW landing refactor/enhancements - [PX4-Autopilot#19871](https://github.com/PX4/PX4-Autopilot/pull/19871)
* Scale minimum airspeed with wind strength FW Position control: add option to scale min airspeed wtih wind magnitude - [PX4-Autopilot#20259](https://github.com/PX4/PX4-Autopilot/pull/20259)
* Improve FW hand-launch takeoff - [PX4-Autopilot#20557](https://github.com/PX4/PX4-Autopilot/pull/20557)
* Improve accelerated stall protection - [PX4-Autopilot#20636](https://github.com/PX4/PX4-Autopilot/pull/20636)
* Add option to disable manual yaw inputs - [PX4-Autopilot#20647](https://github.com/PX4/PX4-Autopilot/pull/20647)
* Disable airspeed rate input into TECS airspeed rate estimation has shwon to be unreliable, so we decided to disable it for now - [PX4-Autopilot#21317](https://github.com/PX4/PX4-Autopilot/pull/21317)
* Support flying at different airspeeds Add airspeed to trim throttle mapping in TECS to support flying at different airspeeds - [PX4-Autopilot#21345](https://github.com/PX4/PX4-Autopilot/pull/21345)

### Hardware Support

* Cubepilot Cube Orange+ - [PX4-Autopilot#20304](https://github.com/PX4/PX4-Autopilot/pull/20304)
* Unicore GPS: Support for Holybro Unicore UM982 GPS - [PX4-Autopilot#21214](https://github.com/PX4/PX4-Autopilot/pull/21214))
* VOXL2 Improved support - [PX4-Autopilot#21426](https://github.com/PX4/PX4-Autopilot/pull/21426)
* Cubepilot Cube Black detection: Fixed Cube Black vs. Pixhawk 2 detection with CAN1 connected - [PX4-Autopilot#21342](https://github.com/PX4/PX4-Autopilot/pull/21342)